Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix resolve_delayed #1006

Merged
merged 3 commits into from
Dec 13, 2023
Merged

fix resolve_delayed #1006

merged 3 commits into from
Dec 13, 2023

Conversation

gogonzo
Copy link
Contributor

@gogonzo gogonzo commented Dec 12, 2023

part of insightsengineering/teal.transform#111

  • resolve_delayed has been fixed on the feature branch in teal.transform and it is not needed anymore in teal as (delayed) data_extract_spec are resolved in data_extract_single_srv when module is initialized. This means that resolve_delayed doesn't have to be imported in teal.
  • resolve_delayed is the only teal.transform function used in teal, so teal.transform is removed from the dependencies. I support this move because teal.transform is used only by some modules teal.modules.general, teal.modules.clinical, teal.goshawk.
very, very, very long app code

App contains different data_extract configurations including delayed_ - app is to prove that they are resolved even when removed from teal. Each module should have the same output on this branch and on main

tm_extract <- function(label = "PR merge",
                       info = NULL,
                       dataname = NULL,
                       data_extract,
                       pre_output = NULL,
                       post_output = NULL) {
  args <- as.list(environment())
  args$data_extract_call <- styler::style_text(
    strsplit(
      # Line break after every brace
      gsub(
        "\\((d|s|f)", "(\n\\1",
        # Line break after each function input value definition
        gsub(
          "\\,\\s([^\\=]+\\s\\=\\s)", ",\n\\1",
          paste(capture.output(match.call()$data_extract), collapse = " ")
        )
      ),
      split = "\n"
    )[[1]]
  ) |> paste(collapse = "\n")

  module(
    label = label,
    server = srv_extract,
    ui = ui_extract,
    ui_args = args,
    server_args = list(dataname = dataname, data_extract = data_extract, data_extract_call = args$data_extract_call),
    datanames = "all"
  )
}

ui_extract <- function(id, ...) {
  arguments <- list(...)
  ns <- NS(id)
  teal.widgets::standard_layout(
    output = teal.widgets::white_small_well(
      h4("data_extract_spec"),
      verbatimTextOutput(ns("data_extract_spec")),
      h4("data_extract output"),
      verbatimTextOutput(ns("data_extract_out")),
      h4("data merge expr"),
      verbatimTextOutput(ns("merge_expr"))
    ),
    encoding = div(
      lapply(
        names(arguments$data_extract),
        function(i) {
          data_extract_ui(
            id = ns(i),
            label = paste0("Selector ", i),
            data_extract_spec = list(arguments$data_extract[[i]])
          )
        }
      )
    )
  )
}

srv_extract <- function(input, output, session, data, dataname, data_extract, data_extract_call) {
  selector_list <- teal.transform::data_extract_multiple_srv(data_extract, data, join_keys = attr(data, "join_keys"))
  merged_expr <- teal.transform::merge_expression_srv(
    selector_list = selector_list,
    data = data,
    join_keys = attr(data, "join_keys"),
    merge_function = "dplyr::left_join"
  )
  output$data_extract_spec <- renderText(data_extract_call)
  output$data_extract_out <- renderText({
    yaml::as.yaml(
      lapply(
        selector_list(),
        function(x) x()[names(x()) != "iv"]
      )
    )
  })
  output$merge_expr <- renderText(paste(merged_expr()$expr, collapse = "\n"))
}

devtools::load_all("teal")
devtools::load_all("teal.transform")
library(scda)
library(dplyr)

data <- teal_data() |> within({
  library(scda)
  ADSL <- synthetic_cdisc_data("latest")$adsl
  ADLB <- synthetic_cdisc_data("latest")$adlb
  ADTTE <- synthetic_cdisc_data("latest")$adtte
  ADRS <- synthetic_cdisc_data("latest")$adrs
  ADLB <- mutate(ADLB, AVAL2 = 2 * AVAL)
  ADTTE <- mutate(ADTTE, AVAL2 = 2 * AVAL)
})
datanames(data) <- c("ADSL", "ADLB", "ADTTE", "ADRS")
join_keys(data) <- default_cdisc_join_keys[c("ADSL", "ADLB", "ADTTE", "ADRS")]

app <- init(
  data = data,
  modules = modules(
    # single wide ----
    modules(
      label = "Single wide dataset",
      tm_extract(
        label = "dynamic input",
        data_extract = list(
          a = data_extract_spec(
            dataname = "ADSL",
            select = select_spec(choices = variable_choices("ADSL"), selected = variable_choices("ADSL")),
            filter = filter_spec(vars = choices_selected(variable_choices("ADSL"), "SEX"))
          )
        )
      ),
      tm_extract(
        label = "dynamic input - elo",
        data_extract = list(
          a = data_extract_spec(
            dataname = "ADSL",
            filter = filter_spec(
              vars = choices_selected(choices = variable_choices("ADSL"), selected = "SEX"),
              choices = c("M", "F", "U", "MUF"),
              selected = "F",
            ),
            select = select_spec(choices = variable_choices("ADSL"), selected = variable_choices("ADSL"))
          )
        )
      ),
      tm_extract(
        label = "Select empty",
        info = "Primary keys columns returned when no columns are selected.",
        dataname = "ADSL",
        data_extract = list(
          a = data_extract_spec(
            dataname = "ADSL",
            select = select_spec(
              choices = variable_choices(data[["ADSL"]]),
              selected = NULL,
              multiple = TRUE,
              fixed = FALSE
            )
          )
        )
      ),
      tm_extract(
        label = "Filter",
        info = "Basic example of filters usage.",
        dataname = "ADSL",
        data_extract = list(
          a = data_extract_spec(
            dataname = "ADSL",
            select = select_spec(
              choices = variable_choices(data[["ADSL"]]),
              selected = c("AGE", "SEX"),
              multiple = TRUE,
              fixed = FALSE
            ),
            filter = filter_spec(
              vars = "SEX",
              choices = levels(data[["ADSL"]]$SEX),
              selected = "F",
              multiple = TRUE
            )
          )
        )
      ),
      tm_extract(
        label = "Filter primary key",
        info = "Basic example of filters usage.",
        dataname = "ADSL",
        data_extract = list(
          a = data_extract_spec(
            dataname = "ADSL",
            select = select_spec(
              choices = variable_choices(data[["ADSL"]]),
              selected = c("AGE", "SEX"),
              multiple = TRUE,
              fixed = FALSE
            ),
            filter = filter_spec(
              vars = "USUBJID",
              choices = unique(data[["ADSL"]]$USUBJID),
              selected = unique(data[["ADSL"]]$USUBJID)[1:10],
              multiple = TRUE
            )
          )
        )
      ),
      tm_extract(
        label = "Multiple filters",
        info = "Multiple filters one by one. Note that if multiple filters are generated then there will be a lot of\
        possible options (i.e. cartesian product).",
        dataname = "ADSL",
        data_extract = list(
          a = data_extract_spec(
            dataname = "ADSL",
            select = select_spec(
              choices = variable_choices(data[["ADSL"]]),
              selected = c("AGE", "SEX"),
              multiple = TRUE,
              fixed = FALSE
            ),
            filter = list(
              filter_spec(
                vars = "SEX",
                choices = levels(data[["ADSL"]]$SEX),
                selected = "F",
                multiple = TRUE
              ),
              filter_spec(
                vars = "RACE",
                choices = levels(data[["ADSL"]]$RACE),
                selected = "ASIAN",
                multiple = TRUE
              ),
              filter_spec(
                vars = "BMRKR2",
                choices = levels(data[["ADSL"]]$BMRKR2),
                selected = "HIGH",
                multiple = TRUE
              )
            )
          )
        )
      ),
      tm_extract(
        label = "Multiple filters combined",
        info = "Filter combination allows to decrease number of possible options.",
        dataname = "ADSL",
        data_extract = list(
          a = data_extract_spec(
            dataname = "ADSL",
            select = select_spec(
              choices = variable_choices(data[["ADSL"]]),
              selected = c("AGE", "SEX"),
              multiple = TRUE,
              fixed = FALSE
            ),
            filter = filter_spec(
              vars = c("SEX", "RACE", "BMRKR2"),
              choices = value_choices(data[["ADLB"]], c("SEX", "RACE", "BMRKR2"), c("SEX", "RACE", "BMRKR2")),
              selected = c("F - ASIAN - HIGH", "M - ASIAN - HIGH"),
              multiple = TRUE
            )
          )
        )
      ),
      tm_extract(
        label = "dynamic input",
        info = "Technical example of the data_merge_srv coupled with data_extract_multiple_srv for dynamic input.\
        The merge function is called when variables from 'ADLB' are selected only. Try unselecting the variables\
        of 'ADLB' and notice the code change. Please compare the code with the previous examples.",
        dataname = c("ADRS"),
        data_extract = list(
          a = data_extract_spec(
            dataname = "ADRS",
            select = select_spec(
              choices = variable_choices(data[["ADRS"]]),
              selected = "AVISIT",
              multiple = TRUE,
              fixed = FALSE
            )
          ),
          b = data_extract_spec(
            dataname = "ADLB",
            filter = filter_spec(
              vars = c("PARAMCD", "AVISIT"),
              choices = value_choices(data[["ADLB"]], c("PARAMCD", "AVISIT"), c("PARAM", "AVISIT")),
              selected = c("ALT - SCREENING", "ALT - BASELINE"),
              multiple = TRUE
            ),
            select = select_spec(
              choices = variable_choices(data[["ADLB"]]),
              selected = c("AVAL", "AVAL2"),
              multiple = TRUE,
              fixed = FALSE
            )
          )
        )
      ),
      tm_extract(
        label = "Multiple filters",
        info = "Multiple filters one by one. Note that if multiple filters are generated then there will be a lot of\
        possible options (i.e. cartesian product).",
        dataname = "ADTTE",
        data_extract = list(
          a = data_extract_spec(
            dataname = "ADTTE",
            select = select_spec(
              choices = variable_choices(data[["ADTTE"]]),
              selected = c("AGE", "SEX", "AVAL"),
              multiple = TRUE,
              fixed = FALSE
            ),
            filter = list(
              filter_spec(
                vars = "SEX",
                choices = levels(data[["ADTTE"]]$SEX),
                selected = "F",
                multiple = TRUE
              ),
              filter_spec(
                vars = "RACE",
                choices = levels(data[["ADTTE"]]$RACE),
                selected = "ASIAN",
                multiple = TRUE
              ),
              filter_spec(
                vars = "PARAMCD",
                choices = value_choices(data[["ADTTE"]], "PARAMCD", "PARAM"),
                selected = "OS",
                multiple = TRUE
              )
            )
          )
        )
      ),
      tm_extract(
        label = "Same filters / same select",
        info = "Filter combination allows to decrease number of possible options.",
        dataname = "ADLB",
        data_extract = list(
          a = data_extract_spec(
            dataname = "ADLB",
            filter = list(
              filter_spec(
                vars = "PARAMCD",
                choices = value_choices(data[["ADLB"]], "PARAMCD", "PARAM"),
                selected = levels(data[["ADLB"]]$PARAMCD)[1],
                multiple = FALSE,
                label = "Select lab:"
              ),
              filter_spec(
                vars = "AVISIT",
                choices = levels(data[["ADLB"]]$AVISIT),
                selected = levels(data[["ADLB"]]$AVISIT)[1],
                multiple = FALSE,
                label = "Select visit:"
              )
            ),
            select = select_spec(
              choices = "AVAL",
              selected = "AVAL",
              multiple = FALSE,
              fixed = TRUE
            )
          ),
          b = data_extract_spec(
            dataname = "ADLB",
            filter = list(
              filter_spec(
                vars = "PARAMCD",
                choices = value_choices(data[["ADLB"]], "PARAMCD", "PARAM"),
                selected = levels(data[["ADLB"]]$PARAMCD)[1],
                multiple = FALSE,
                label = "Select lab:"
              ),
              filter_spec(
                vars = "AVISIT",
                choices = levels(data[["ADLB"]]$AVISIT),
                selected = levels(data[["ADLB"]]$AVISIT)[1],
                multiple = FALSE,
                label = "Select visit:"
              )
            ),
            select = select_spec(
              choices = "AVAL",
              selected = "AVAL",
              multiple = FALSE,
              fixed = TRUE
            )
          ),
          c = data_extract_spec(
            dataname = "ADLB",
            filter = list(
              filter_spec(
                vars = "PARAMCD",
                choices = value_choices(data[["ADLB"]], "PARAMCD", "PARAM"),
                selected = levels(data[["ADLB"]]$PARAMCD)[1],
                multiple = FALSE,
                label = "Select lab:"
              ),
              filter_spec(
                vars = "STRATA1",
                choices = levels(data[["ADLB"]]$STRATA1),
                selected = levels(data[["ADLB"]]$STRATA1)[1],
                multiple = FALSE,
                label = "Select category:"
              )
            ),
            select = select_spec(
              choices = variable_choices(data[["ADLB"]], c("RACE", "SEX", "ARMCD", "ACTARMCD")),
              selected = NULL,
              multiple = TRUE,
              fixed = FALSE,
              label = "Select variable:"
            )
          ),
          d = data_extract_spec(
            dataname = "ADLB",
            filter = list(
              filter_spec(
                vars = "PARAMCD",
                choices = value_choices(data[["ADLB"]], "PARAMCD", "PARAM"),
                selected = levels(data[["ADLB"]]$PARAMCD)[1],
                multiple = FALSE,
                label = "Select lab:"
              ),
              filter_spec(
                vars = "STRATA1",
                choices = levels(data[["ADLB"]]$STRATA1),
                selected = levels(data[["ADLB"]]$STRATA1)[2],
                multiple = FALSE,
                label = "Select category:"
              )
            ),
            select = select_spec(
              choices = variable_choices(data[["ADLB"]], c("RACE", "SEX", "ARMCD", "ACTARMCD")),
              selected = NULL,
              multiple = TRUE,
              fixed = FALSE,
              label = "Select variables:"
            )
          )
        )
      ),
      tm_extract(
        label = "Multiple selectors / Different filters",
        info = "Filter combination allows to decrease number of possible options.",
        dataname = "ADLB",
        data_extract = list(
          a = data_extract_spec(
            dataname = "ADLB",
            filter = list(
              filter_spec(
                vars = "PARAMCD",
                choices = value_choices(data[["ADLB"]], "PARAMCD", "PARAM"),
                selected = levels(data[["ADLB"]]$PARAMCD)[1],
                multiple = TRUE,
                label = "Select lab:"
              ),
              filter_spec(
                vars = "AVISIT",
                choices = levels(data[["ADLB"]]$AVISIT),
                selected = levels(data[["ADLB"]]$AVISIT)[1],
                multiple = TRUE,
                label = "Select visit:"
              )
            ),
            select = select_spec(
              choices = variable_choices(data[["ADLB"]]),
              selected = "AVAL",
              multiple = TRUE,
              fixed = FALSE
            )
          ),
          b = data_extract_spec(
            dataname = "ADLB",
            filter = list(
              filter_spec(
                vars = "PARAMCD",
                choices = value_choices(data[["ADLB"]], "PARAMCD", "PARAM"),
                selected = levels(data[["ADLB"]]$PARAMCD)[2],
                multiple = TRUE,
                label = "Select lab:"
              ),
              filter_spec(
                vars = "AVISIT",
                choices = levels(data[["ADLB"]]$AVISIT),
                selected = levels(data[["ADLB"]]$AVISIT)[1],
                multiple = TRUE,
                label = "Select visit:"
              )
            ),
            select = select_spec(
              choices = variable_choices(data[["ADLB"]]),
              selected = "AVAL",
              multiple = TRUE,
              fixed = FALSE
            )
          ),
          c = data_extract_spec(
            dataname = "ADLB",
            filter = list(
              filter_spec(
                vars = "PARAMCD",
                choices = value_choices(data[["ADLB"]], "PARAMCD", "PARAM"),
                selected = levels(data[["ADLB"]]$PARAMCD)[1],
                multiple = TRUE,
                label = "Select lab:"
              ),
              filter_spec(
                vars = "STRATA1",
                choices = levels(data[["ADLB"]]$STRATA1),
                selected = levels(data[["ADLB"]]$STRATA1)[1],
                multiple = TRUE,
                label = "Select category:"
              )
            ),
            select = select_spec(
              choices = variable_choices(data[["ADLB"]]),
              selected = NULL,
              multiple = TRUE,
              fixed = FALSE,
              label = "Select variable:"
            )
          ),
          d = data_extract_spec(
            dataname = "ADLB",
            filter = list(
              filter_spec(
                vars = "PARAMCD",
                choices = value_choices(data[["ADLB"]], "PARAMCD", "PARAM"),
                selected = levels(data[["ADLB"]]$PARAMCD)[1],
                multiple = TRUE,
                label = "Select lab:"
              ),
              filter_spec(
                vars = "STRATA1",
                choices = levels(data[["ADLB"]]$STRATA1),
                selected = levels(data[["ADLB"]]$STRATA1)[2],
                multiple = TRUE,
                label = "Select category:"
              )
            ),
            select = select_spec(
              choices = variable_choices(data[["ADLB"]]),
              selected = NULL,
              multiple = TRUE,
              fixed = FALSE,
              label = "Select variables:"
            )
          )
        )
      ),
      tm_extract(
        label = "fixed columns extract",
        data_extract = list(
          a = data_extract_spec(
            dataname = "ADTTE",
            select = select_spec(
              choices = variable_choices(data[["ADTTE"]], subset = c("AVAL", "BMRKR1")),
              selected = "AVAL",
              multiple = FALSE,
              fixed = FALSE, # Whether the user can select the item
              label = "" # Label the column select dropdown (optional)
            ),
            filter = filter_spec(
              vars = "CNSR", # only key variables are allowed
              choices = value_choices(data[["ADTTE"]], var_choices = "CNSR", var_label = "CNSR"),
              selected = 1,
              multiple = FALSE, # if multiple, then a pivot_wider is needed
              label = "Choose CNSR",
              sep = " - "
            )
          ),
          b = data_extract_spec(
            dataname = "ADSL",
            select = select_spec(
              choices = variable_choices(data[["ADSL"]], subset = c("SEX", "AGE")),
              selected = "AGE",
              multiple = FALSE,
              fixed = FALSE,
              always_selected = c("RACE", "ARM")
            )
          ),
          c = data_extract_spec(
            dataname = "ADTTE",
            select = select_spec(
              choices = variable_choices(data[["ADTTE"]], subset = c("AVAL", "AVALU", "BMRKR1", "SITEID")),
              selected = "AVAL",
              multiple = FALSE,
              fixed = FALSE, # Whether the user can select the item (optional)
              label = "Column" # Label the column select dropdown (optional)
            ),
            filter = list(
              filter_spec(
                vars = "PARAMCD", # only key variables are allowed
                choices = value_choices(data[["ADTTE"]], var_choices = "PARAMCD", var_label = "PARAM"),
                selected = "OS",
                multiple = TRUE, # if multiple, then a pivot_wider is needed
                label = "Choose endpoint",
                sep = " - "
              ),
              filter_spec(
                vars = "CNSR", # only key variables are allowed
                choices = value_choices(data[["ADTTE"]], var_choices = "CNSR", var_label = "CNSR"),
                selected = 1,
                multiple = FALSE, # if multiple, then a pivot_wider is needed
                label = "Choose CNSR",
                sep = " - "
              )
            )
          )
        )
      ),
      tm_extract(
        label = "Mixed filters",
        info = paste(
          "Introducing filtering on 'ADLB' and ADLB but also selecting the primary key is interesting",
          "as the PARAMCD column encodes for different values in these two datasets."
        ),
        dataname = c("ADTTE", "ADLB"),
        data_extract = list(
          a = data_extract_spec(
            dataname = "ADTTE",
            select = select_spec(
              choices = variable_choices(data[["ADTTE"]]),
              selected = c("AGE", "SEX", "AVAL", "PARAMCD"),
              multiple = TRUE,
              fixed = FALSE
            ),
            filter = list(
              filter_spec(
                vars = "SEX",
                choices = levels(data[["ADTTE"]]$SEX),
                selected = "F",
                multiple = TRUE
              ),
              filter_spec(
                vars = "PARAMCD",
                choices = value_choices(data[["ADTTE"]], "PARAMCD", "PARAM"),
                selected = "OS",
                multiple = TRUE
              )
            )
          ),
          b = data_extract_spec(
            dataname = "ADLB",
            select = select_spec(
              choices = variable_choices(data[["ADLB"]]),
              selected = c("AGE", "SEX", "AVAL", "PARAMCD"),
              multiple = TRUE,
              fixed = FALSE
            ),
            filter = list(
              filter_spec(
                vars = "RACE",
                choices = levels(data[["ADLB"]]$RACE),
                selected = "ASIAN",
                multiple = TRUE
              ),
              filter_spec(
                vars = "PARAMCD",
                choices = value_choices(data[["ADLB"]], "PARAMCD", "PARAM"),
                selected = "CRP",
                multiple = TRUE
              )
            )
          )
        )
      ),
      tm_extract(
        label = "Combined/concatenated filter",
        dataname = c("ADRS", "ADTTE"),
        data_extract = list(
          a = data_extract_spec(
            dataname = "ADRS",
            filter = filter_spec(
              label = "Select endpoints:",
              vars = c("PARAMCD", "AVISIT"),
              choices = value_choices(data[["ADRS"]], c("PARAMCD", "AVISIT"), c("PARAM", "AVISIT")),
              selected = "OVRINV - END OF INDUCTION",
              multiple = TRUE
            ),
            select = select_spec(
              choices = variable_choices(data[["ADRS"]], c("AVALC", "AVAL")),
              selected = "AVALC",
              multiple = FALSE
            )
          ),
          b = data_extract_spec(
            dataname = "ADTTE",
            select = select_spec(
              label = "Select variable:",
              choices = variable_choices(data[["ADTTE"]], c("AVAL", "CNSR")),
              selected = "AVAL",
              multiple = FALSE,
              fixed = FALSE
            ),
            filter = filter_spec(
              label = "Select endpoint:",
              vars = c("PARAMCD"),
              choices = value_choices(data[["ADTTE"]], "PARAMCD", "PARAM"),
              selected = "OS",
              multiple = FALSE
            )
          ),
          c = data_extract_spec(
            dataname = "ADRS",
            filter = filter_spec(
              label = "Select endpoints:",
              vars = c("PARAMCD", "AVISIT"),
              choices = value_choices(data[["ADRS"]], c("PARAMCD", "AVISIT"), c("PARAM", "AVISIT")),
              selected = "OVRINV - SCREENING",
              multiple = TRUE
            ),
            select = select_spec(
              label = "Select variable:",
              choices = variable_choices(data[["ADRS"]], c("SEX", "RACE", "COUNTRY", "ARM", "PARAMCD", "AVISIT")),
              selected = "SEX",
              multiple = FALSE,
              fixed = FALSE
            )
          )
        )
      )
    )
  )
)

runApp(app)

Copy link
Contributor

github-actions bot commented Dec 12, 2023

badge

Code Coverage Summary

Filename                          Stmts    Miss  Cover    Missing
------------------------------  -------  ------  -------  -------------------------------------------------------------------------------------------------------------------------------
R/dummy_functions.R                  97      88  9.28%    9-71, 93-106, 109-116, 131-146
R/get_rcode_utils.R                  31       1  96.77%   51
R/include_css_js.R                   24       0  100.00%
R/init.R                             80      31  61.25%   110-117, 141, 160-181, 213-215, 217-218
R/landing_popup_module.R             25      25  0.00%    61-87
R/module_filter_manager.R           107      36  66.36%   49-55, 62-70, 79-84, 228, 233-246
R/module_nested_tabs.R              149      58  61.07%   64-137, 153, 205, 227, 253
R/module_snapshot_manager.R         209     157  24.88%   87-99, 127-136, 140-152, 154-161, 168-182, 186-188, 190-195, 198-208, 211-227, 236-251, 265-288, 291-302, 305-311, 325, 346-369
R/module_tabs_with_filters.R         73      33  54.79%   60-95, 127, 140
R/module_teal_with_splash.R          89       4  95.51%   67, 88, 149-150
R/module_teal.R                     141      32  77.30%   68, 71, 158-159, 165, 196, 204-205, 227-259
R/modules_debugging.R                19      19  0.00%    25-45
R/modules.R                         155      26  83.23%   119, 132, 224-227, 241-246, 257-261, 391-434
R/reporter_previewer_module.R        18       2  88.89%   26, 30
R/show_rcode_modal.R                 20      20  0.00%    16-37
R/tdata.R                            59       1  98.31%   160
R/teal_data_module-eval_code.R       34       0  100.00%
R/teal_data_module.R                  6       0  100.00%
R/teal_reporter.R                    60       5  91.67%   65, 116-117, 120, 137
R/teal_slices-store.R                29       0  100.00%
R/teal_slices.R                      59      12  79.66%   135-148
R/utils.R                           108      27  75.00%   113-140
R/validate_inputs.R                  32       0  100.00%
R/validations.R                      58      37  36.21%   109-371
R/zzz.R                              11       7  36.36%   3-14
TOTAL                              1693     621  63.32%

Diff against main

Filename                  Stmts    Miss  Cover
----------------------  -------  ------  -------
R/module_nested_tabs.R       -2      -1  +0.15%
TOTAL                        -2      -1  +0.02%

Results for commit: 6f911b0

Minimum allowed coverage is 80%

♻️ This comment has been updated with latest results

Copy link
Contributor

github-actions bot commented Dec 12, 2023

Unit Tests Summary

    1 files    19 suites   11s ⏱️
199 tests 197 ✔️ 2 💤 0
398 runs  395 ✔️ 3 💤 0

Results for commit 6f911b0.

♻️ This comment has been updated with latest results.

@gogonzo gogonzo changed the title remove resolve_delayed fix resolve_delayed Dec 12, 2023
@kartikeyakirar kartikeyakirar self-assigned this Dec 12, 2023
@kartikeyakirar
Copy link
Contributor

kartikeyakirar commented Dec 12, 2023

Reviewed and tested the sample app code and run it without any issue in both the main and current branch. 🚀

Copy link
Contributor

@kartikeyakirar kartikeyakirar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As per discussion with @gogonzo the refactoring of teal.transform is on the horizon, teal.transform isn't handled by teal at all and the role it will play in aiding module development.keeping it in vignettes now will force us to add it to suggests in teal , After refactor if required this will be to added it to teal documentation.

vignettes/blueprint/product_map.Rmd Show resolved Hide resolved
R/teal.R Show resolved Hide resolved
@gogonzo gogonzo enabled auto-merge (squash) December 13, 2023 13:16
@gogonzo gogonzo disabled auto-merge December 13, 2023 13:17
@gogonzo gogonzo enabled auto-merge (squash) December 13, 2023 13:17
@gogonzo gogonzo merged commit ff118ba into main Dec 13, 2023
25 checks passed
@gogonzo gogonzo deleted the 111_resolve_delayed@main branch December 13, 2023 13:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Bug]: Concept of delayed creates indirect dependency between data and UI elements
3 participants